function [n2,ValueAuthors,ValueEditor,nAuthors]=getAuthors(VecValue,n2,VecEditors,VecSpecialCharacters)

TestTemp=0;
TestTemp2=0;
TestTemp4=0;
TestTemp6=0;
TestTemp52=0;
TestTemp62=0;
nAuthors=0;
ValueEditor=[];
ValueAuthors='*N_*';
ValueTemp=size(VecValue,1)-9;
ValueTemp2=ValueTemp-1;
ValueTemp3=size(VecEditors,1);
ValueAuthorsTemp='';
ValueAuthorsTemp2='';
while n2<=ValueTemp&&TestTemp==0
    % Family name
    VecValueTemp2=VecValue(n2:n2+9,1);
    if strcmp(char(VecValueTemp2'),'<LastName>')==1
        n4=n2+10;
        nAuthors=nAuthors+1;
        while n2<=ValueTemp2&&TestTemp2==0
            VecValueTemp3=VecValue(n2:n2+10,1);
            if strcmp(char(VecValueTemp3'),'</LastName>')==1
                n5=n2-1;
                TestTemp2=1;
                ValueAuthorsTemp=char(VecValue(n4:n5,1)');
                ValueAuthors=[ValueAuthors '/L_/' ValueAuthorsTemp '/L_/'];
            else
                if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
                    TestTemp2=1;
                    TestTemp=2;
                    n5=n2-1;
                    ValueAuthorsTemp=char(VecValue(n4:n5,1)');
                    ValueAuthors=[ValueAuthors '/L_/' ValueAuthorsTemp '/L_/'];
                end
                if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
                    TestTemp2=1;
                    TestTemp=2;
                    n5=n2-1;
                    ValueAuthorsTemp=char(VecValue(n4:n5,1)');
                    ValueAuthors=[ValueAuthors '/L_/' ValueAuthorsTemp '/L_/'];
                    n2=n2-4;
                end
                if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                    TestTemp2=1;
                    n5=n2-1;
                    ValueAuthorsTemp=char(VecValue(n4:n5,1)');
                    ValueAuthors=[ValueAuthors '/L_/' ValueAuthorsTemp '/L_/*N_*'];
                    if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
                        for n6=1:ValueTemp3
                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                ValueEditor=[ValueEditor n6];
                            end
                        end
                    else
                        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                            for n6=1:ValueTemp3
                                ValueAuthorsTemp22=VecEditors{n6,1};
                                ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                                if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                    ValueEditor=[ValueEditor n6];
                                end
                            end
                        else
                            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                                for n6=1:ValueTemp3
                                    if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                        ValueEditor=[ValueEditor n6];
                                    end
                                end
                            else
                                if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                                    for n6=1:ValueTemp3
                                        if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                            ValueEditor=[ValueEditor n6];
                                        end
                                    end
                                end
                            end
                        end
                    end
                    ValueAuthorsTemp='';
                    ValueAuthorsTemp2='';
                end
            end
            n2=n2+1;
        end
        TestTemp2=0;
    end
    % First name
    VecValueTemp3=VecValue(n2:n2+9,1);
    if strcmp(char(VecValueTemp3'),'<ForeName>')==1
        n4=n2+10;
        while n2<=ValueTemp2&&TestTemp4==0
            VecValueTemp3=VecValue(n2:n2+10,1);
            if strcmp(char(VecValueTemp3'),'</ForeName>')==1
                n5=n2-1;
                TestTemp4=1;
                ValueAuthorsTemp2=VecValue(n4:n5,1)';
                ValueAuthors=[ValueAuthors '/F_/' char(ValueAuthorsTemp2) '/F_/'];
            else
                if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
                    TestTemp=2;
                    n5=n2-1;
                    TestTemp4=1;
                    ValueAuthorsTemp2=VecValue(n4:n5,1)';
                    ValueAuthors=[ValueAuthors '/F_/' char(ValueAuthorsTemp2) '/F_/'];
                end
                if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
                    n5=n2-1;
                    TestTemp4=1;
                    ValueAuthorsTemp2=VecValue(n4:n5,1)';
                    ValueAuthors=[ValueAuthors '/F_/' char(ValueAuthorsTemp2) '/F_/'];
                    TestTemp=2;
                    n2=n2-4;
                end
                if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                    TestTemp4=1;
                    n5=n2-1;
                    ValueAuthorsTemp2=char(VecValue(n4:n5,1)');
                    ValueAuthors=[ValueAuthors '/F_/' ValueAuthorsTemp2 '/F_/*N_*'];
                    if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
                        for n6=1:ValueTemp3
                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                ValueEditor=[ValueEditor n6];
                            end
                        end
                    else
                        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                            for n6=1:ValueTemp3
                                ValueAuthorsTemp22=VecEditors{n6,1};
                                ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                                if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                    ValueEditor=[ValueEditor n6];
                                end
                            end
                        else
                            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                                for n6=1:ValueTemp3
                                    if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                        ValueEditor=[ValueEditor n6];
                                    end
                                end
                            else
                                if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                                    for n6=1:ValueTemp3
                                        if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                            ValueEditor=[ValueEditor n6];
                                        end
                                    end
                                end
                            end
                        end
                    end
                    ValueAuthorsTemp='';
                    ValueAuthorsTemp2='';
                end
            end
            n2=n2+1;
        end
        TestTemp4=0;
    end
    % Initials
    VecValueTemp3=VecValue(n2:n2+9,1);
    if strcmp(char(VecValueTemp3'),'<Initials>')==1
        n4=n2+10;
        while n2<=ValueTemp2&&TestTemp6==0
            VecValueTemp3=VecValue(n2:n2+10,1);
            if strcmp(char(VecValueTemp3'),'</Initials>')==1
                n5=n2-1;
                TestTemp6=1;
                ValueAuthors=[ValueAuthors '/I_/' char(VecValue(n4:n5,1)') '/I_/'];
            else
                if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
                    n5=n2-1;
                    TestTemp6=1;
                    ValueAuthors=[ValueAuthors '/I_/' char(VecValue(n4:n5,1)') '/I_/'];
                    TestTemp=2;
                end
                if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
                    n5=n2-1;
                    TestTemp6=1;
                    ValueAuthors=[ValueAuthors '/I_/' char(VecValue(n4:n5,1)') '/I_/'];
                    TestTemp=2;
                    n2=n2-4;
                end
                if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                    TestTemp6=1;
                    n5=n2-1;
                    ValueAuthors=[ValueAuthors '/I_/' char(VecValue(n4:n5,1)') '/I_/*N_*'];
                    if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
                        for n6=1:ValueTemp3
                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                ValueEditor=[ValueEditor n6];
                            end
                        end
                    else
                        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                            for n6=1:ValueTemp3
                                ValueAuthorsTemp22=VecEditors{n6,1};
                                ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                                if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                    ValueEditor=[ValueEditor n6];
                                end
                            end
                        else
                            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                                for n6=1:ValueTemp3
                                    if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                        ValueEditor=[ValueEditor n6];
                                    end
                                end
                            else
                                if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                                    for n6=1:ValueTemp3
                                        if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                            ValueEditor=[ValueEditor n6];
                                        end
                                    end
                                end
                            end
                        end
                    end
                    ValueAuthorsTemp='';
                    ValueAuthorsTemp2='';
                end
            end
            n2=n2+1;
        end
        TestTemp6=0;
    end
    % Affiliation and identifier
    VecValueTemp3=VecValue(n2:n2+16,1);
    if strcmp(char(VecValueTemp3'),'<AffiliationInfo>')==1||strcmp(char(VecValueTemp3'),'<Identifier Sourc')==1
        if strcmp(char(VecValueTemp3'),'<AffiliationInfo>')==1
            while n2<=ValueTemp&&TestTemp52==0
                VecValueTemp3=VecValue(n2:n2+12,1);
                if strcmp(char(VecValueTemp3'),'<Affiliation>')==1
                    n4=n2+13;
                    TestTemp52=1;
                    while n2<=ValueTemp2&&TestTemp62==0
                        VecValueTemp3=VecValue(n2:n2+13,1);
                        if strcmp(char(VecValueTemp3'),'</Affiliation>')==1
                            n5=n2-1;
                            TestTemp62=1;
                            ValueAuthors=[ValueAuthors '/A_/' char(VecValue(n4:n5,1)') '/A_/'];
                        else
                            if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1||strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1||strcmp(char(VecValue(n2:n2+17,1)'),'</AffiliationInfo>')==1||strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                                n2=n2-2;
                                TestTemp62=1;
                            end
                        end
                        n2=n2+1;
                    end
                else
                    if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/A_/' char(VecValue(n4:n5,1)') '/A_/'];
                        TestTemp=2;
                    end
                    if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/A_/' char(VecValue(n4:n5,1)') '/A_/'];
                        TestTemp=2;
                        n2=n2-4;
                    end
                    if strcmp(char(VecValue(n2:n2+17,1)'),'</AffiliationInfo>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/A_/' char(VecValue(n4:n5,1)') '/A_/'];
                    end
                    if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/A_/' char(VecValue(n4:n5,1)') '/A_/*N_*'];
                        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
                            for n6=1:ValueTemp3
                                if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                    ValueEditor=[ValueEditor n6];
                                end
                            end
                        else
                            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                                for n6=1:ValueTemp3
                                    ValueAuthorsTemp22=VecEditors{n6,1};
                                    ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                                    if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                        ValueEditor=[ValueEditor n6];
                                    end
                                end
                            else
                                if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                                    for n6=1:ValueTemp3
                                        if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                            ValueEditor=[ValueEditor n6];
                                        end
                                    end
                                else
                                    if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                                        for n6=1:ValueTemp3
                                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                                ValueEditor=[ValueEditor n6];
                                            end
                                        end
                                    end
                                end
                            end
                        end
                        ValueAuthorsTemp='';
                        ValueAuthorsTemp2='';
                    end
                end
                n2=n2+1;
            end
            TestTemp52=0;
            TestTemp62=0;
        else
            while n2<=ValueTemp&&TestTemp52==0
                if strcmp(char(VecValue(n2,1)),'>')==1
                    n4=n2+1;
                    TestTemp52=1;
                    while n2<=ValueTemp2&&TestTemp62==0
                        VecValueTemp3=VecValue(n2:n2+12,1);
                        if strcmp(char(VecValueTemp3'),'</Identifier>')==1
                            n5=n2-1;
                            TestTemp62=1;
                            ValueAuthors=[ValueAuthors '/D_/' char(VecValue(n4:n5,1)') '/D_/'];
                        else
                            if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1||strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1||strcmp(char(VecValue(n2:n2+17,1)'),'</AffiliationInfo>')==1||strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                                n2=n2-2;
                                TestTemp62=1;
                            end
                        end
                        n2=n2+1;
                    end
                else
                    if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/D_/' char(VecValue(n4:n5,1)') '/D_/'];
                        TestTemp=2;
                    end
                    if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/D_/' char(VecValue(n4:n5,1)') '/D_/'];
                        TestTemp=2;
                        n2=n2-4;
                    end
                    if strcmp(char(VecValue(n2:n2+17,1)'),'</AffiliationInfo>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/D_/' char(VecValue(n4:n5,1)') '/D_/'];
                    end
                    if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1
                        TestTemp52=1;
                        n5=n2-1;
                        ValueAuthors=[ValueAuthors '/D_/' char(VecValue(n4:n5,1)') '/D_/*N_*'];
                        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
                            for n6=1:ValueTemp3
                                if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                    ValueEditor=[ValueEditor n6];
                                end
                            end
                        else
                            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                                for n6=1:ValueTemp3
                                    ValueAuthorsTemp22=VecEditors{n6,1};
                                    ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                                    if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                        ValueEditor=[ValueEditor n6];
                                    end
                                end
                            else
                                if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                                    for n6=1:ValueTemp3
                                        if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                                            ValueEditor=[ValueEditor n6];
                                        end
                                    end
                                else
                                    if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                                        for n6=1:ValueTemp3
                                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                                ValueEditor=[ValueEditor n6];
                                            end
                                        end
                                    end
                                end
                            end
                        end
                        ValueAuthorsTemp='';
                        ValueAuthorsTemp2='';
                    end
                end
                n2=n2+1;
            end
            TestTemp52=0;
            TestTemp62=0;
        end
    end
    if strcmp(char(VecValue(n2:n2+12,1)'),'</AuthorList>')==1
        TestTemp=1;
    end
    if strcmp(char(VecValue(n2:n2+9,1)'),'<Keyword M')==1
        TestTemp=1;
    end
    if strcmp(char(VecValue(n2:n2+8,1)'),'</Author>')==1&&TestTemp==0
        ValueAuthors=[ValueAuthors '*N_*'];
        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
            for n6=1:ValueTemp3
                if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                    ValueEditor=[ValueEditor n6];
                end
            end
        else
            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
                for n6=1:ValueTemp3
                    ValueAuthorsTemp22=VecEditors{n6,1};
                    ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                    if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                        ValueEditor=[ValueEditor n6];
                    end
                end
            else
                if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                    for n6=1:ValueTemp3
                        if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                            ValueEditor=[ValueEditor n6];
                        end
                    end
                else
                    if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                        for n6=1:ValueTemp3
                            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99
                                ValueEditor=[ValueEditor n6];
                            end
                        end
                    end
                end
            end
        end
        ValueAuthorsTemp='';
        ValueAuthorsTemp2='';
    end
    n2=n2+1;
end
if TestTemp==2
    if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)>=1
        for n6=1:ValueTemp3
            if strcmps(ValueAuthorsTemp2,VecEditors{n6,1},VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                ValueEditor=[ValueEditor n6];
            end
        end
    else
        if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==1
            for n6=1:ValueTemp3
                ValueAuthorsTemp22=VecEditors{n6,1};
                ValueAuthorsTemp22=ValueAuthorsTemp22(1,1);
                if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99&&strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                    ValueEditor=[ValueEditor n6];
                end
            end
        else
            if size(ValueAuthorsTemp,2)>=1&&size(ValueAuthorsTemp2,2)==0
                for n6=1:ValueTemp3
                    if strcmps(ValueAuthorsTemp,VecEditors{n6,2},VecSpecialCharacters)>=0.99
                        ValueEditor=[ValueEditor n6];
                    end
                end
            else
                if size(ValueAuthorsTemp2,2)>=1&&size(ValueAuthorsTemp,2)==0
                    for n6=1:ValueTemp3
                        if strcmps(ValueAuthorsTemp2,ValueAuthorsTemp22,VecSpecialCharacters)>=0.99
                            ValueEditor=[ValueEditor n6];
                        end
                    end
                end
            end
        end
    end
end
if size(ValueAuthors,2)==4
    ValueAuthors='';
end